Ambari2.7整体编译+安装使用
声明:博主写了一些Ambari系列文章,可以在历史文章中查看。
最近Ambari发布了新版本——v2.7.1,支持HDP_3.0.1版本,较Ambari2.6相比,最直观的感觉就是Web UI有了很大的改变,更加的美观;支持的hadoop相关组件,也是较新的版本;同时也增加了很多新特性等等,好处多多,首先来了解一下整体编译,毕竟整体编译过了,才能进行二次开发
一、获取Ambari2.7.1源码
1 | wget http://www.apache.org/dist/ambari/ambari-2.7.1/apache-ambari-2.7.1-src.tar.gz |
二、搭建编译环境
搭建编译环境需要下载的依赖安装包,在我的云盘已经保存好了,详情点击下载,链接: https://pan.baidu.com/s/13artwjfgi7ikJiKIBbzb7w 提取码: fgia
1. jdk、maven、nodejs、brunch下载
详情请点击:java、nodejs、brunch、maven安装
2. python 2.6(系统自带)
3. 安装rpmbuild
1 | yum install rpm-build |
4. 安装g++
1 | yum install gcc-c++ |
5. 安装python-devel
1 | yum install python-devel |
6. 安装bower、gulp
1 | npm install -g bower |
7. 安装git
1 | yum install git |
三、提前下载并设置
有些包比较大,或者编译时下载时间较长,可以提前下载到本地目录,再修改pom.xml文件指定到本地目录
1. hbase tar包下载
1 | mkdir -p /tmp/hbase |
2. grafana tar包下载
1 | mkdir -p /tmp/grafana |
四、设置版本信息
1 | chmod -R 777 apache-ambari-2.7.1-src |
五、编译命令
执行编译命令之前,请先看一遍问题集锦
1 | mvn -B -X -e install package rpm:rpm -DnewVersion=2.7.1.0.0 -DskipTests -Dpython.ver="python >= 2.6" -Drat.skip=true -Preplaceurl |
编译成功,如下图所示:
六、问题集锦
1. Too many files with unapproved license
解决办法:
由于许可license没有造成的,需要再mvn命令中增加如下内容:
-Drat.skip=true
2. Unexpected character 0x0 in identifier
编译ambari-utility,报错信息:
说明:
出错的Java文件编码和CheckStyle设置的编码不同。CheckStyle里设置的编码是UTF-8
解决办法:
将“._xxx.java”文件直接删除即可。
(注:其实有很多类似这样的文件报错,将类似这样的文件删除掉即可)
3. Download HBase超时
问题:
解决办法:
将./ambari-metrics/pom.xml的
<hbase.tar>http://dev.hortonworks.com.s3.amazonaws.com/HDP/centos7/3.x/BUILDS/3.0.0.0-1634/tars/hbase/hbase-2.0.0.3.0.0.0-1634-bin.tar.gz</hbase.tar>
替换为本地路径
<hbase.tar>file:///tmp/hbase/hbase-2.0.0.3.0.0.0-1634-bin.tar.gz</hbase.tar>
4. Download Grafana超时
问题:
解决办法:
将./ambari-metrics/pom.xml的
<grafana.tar>https://grafanarel.s3.amazonaws.com/builds/grafana-2.6.0.linux-x64.tar.gz</grafana.tar>
替换为本地路径
<grafana.tar>file:///tmp/grafana/grafana-2.6.0.linux-x64.tar.gz</grafana.tar>
如图所示:
5. Unable to build the RPM
问题:
Unable to build the RPM: Error while executing process. Cannot run program “rpmbuild”
解决办法:
1 | rpm -qa | grep rpm-build #检测是否已安装rpmbuild |
6. 编译ambari-server时findbug执行时参数失败问题
问题:
原因:
由于findbugs-maven-plugin3.0.3可能存在着已知的bug,在编译时候由于某种原因导致无法通过。
解决方法:
修改ambari-server的pom配置文件,使用较高版本3.0.5的进行替换。
1 | <plugin> |
然后使用clean参数重新执行ambari-server模块的编译命令问题解决
1 | mvn -B -X -e clean install package rpm:rpm -DnewVersion=2.7.1.0.0 -DskipTests -Dpython.ver="python >= 2.6" -Drat.skip=true -Preplaceurl |
7. buildNumber : unbound variable
1 | vim /usr/sbin/ambari-server |
该文件源码位置位于:./ambari-server/sbin/ambari-server,修改后,在进行编译,可以一劳永逸。
8. ambari卡在设置集群名称的下一步
详情见下图:设置好集群名称,卡在了NEXT
这一步,换句话说,就是select version那个页面不能被我们访问到。
分析:
进入select version
页面是访问的HDP-3.0
,但是发现/var/lib/ambari-server/resources/stacks/HDP/
,所以select version
页面打不开。
解决办法:
链接: https://pan.baidu.com/s/1lsR04M6n7_zNEy2jANFrpQ 提取码: tzre
下载文件并解压至/var/lib/ambari-server/resources/stacks/HDP/
可将3.0
文件添加到源码处:./ambari-server/src/main/resources/stacks/HDP
,再进行编译,可以一劳永逸。
或者从网上下载,gitee链接:https://gitee.com/zxcolin/ambari.git,里面有 hdp 3.0 和 3.1 的相关目录。
七、安装编译成功的rpm包
因为博主当时在二次开发ambari-server,改好源码后,需要对ambari-server编译安装,为了节省时间,所以写了两个脚本,用于安装ambari-server。
执行以下脚本的前提条件是:必须拥有ambari环境,如果搭建请参考:Ambari2.7.1安装配置
1. reSetupAmbariServer.sh
1 | !/bin/bash |
2. ambariSetup.sh
1 | !/usr/bin/expect |
脚本执行入口为:sh reSetupAmbariServer.sh
八、使用samba调试修改代码
samba可以使linux上的代码作为网络驱动器,映射到windows上。
Samba安装配置:点击这里
点关注,不迷路
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。
白嫖不好,创作不易。各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
如果本篇博客有任何错误,请批评指教,不胜感激 !
原文作者: create17
原文链接: https://841809077.github.io/2018/11/08/Ambari/安装部署/Ambari v2.7.1整体编译+安装使用.html
版权声明: 转载请注明出处(码字不易,请保留作者署名及链接,谢谢配合!)